Conventionally, as an interface mainly for the transfer of multimedia data, a serial bus compliant with the IEEE1394 standard (hereinafter, “IEEE1394 bus”) has been used. The IEEE1394 bus has such characteristics that high-speed data transfer is possible, a device to be a host is not required, and connection and disconnection can be freely performed even during the operation of a device. The IEEE1304 standard includes IEEEE1394-1995 that has conventionally been used, IEEE1304a, and IEEE1394b that is obtained by improving IEEE1394a.
According to the IEEE1394 standard, there is idle time (Gap) during which no device (node) connected thereto can perform communication, and a value to be an origin of the idle time is Gap_Count. For example, when data is transmitted from one node to another node that is connected to the same 1394 bus, it is necessary to send back an acknowledge packet (ACK) to confirm whether the data is properly received at the receiving end. During the period from the data transmission until reception of ACK, other devices cannot disturb the communication, and are required to wait for a certain period of time.
This waiting time is called ACKnowledge_Gap, and the time indicating ACKnowledge_Gap is determined based on the value of Gap_Count. A Gap_Count value varies according to a topology of a bus, and when a topology of a bus is changed, the Gap_Count value is re-set in each node. The setting of Gap_Count is performed by a node that is a bus manager on the bus, or by an IRM (isochronous resource manager) if the bus manager is not present on the bus. A node that thus sets Gap_Count is referred to as a Gap_Count setting node, hereinafter.
The Gap_Count setting node calculates a Gap_Count value, and broadcasts a packet (PHY configuration packet) to set the calculated Gap_Count value in each node. Each node sets the received Gap_Count value in a PHY register. Upon each node receiving a bus reset signal, the Gap_Count value that is set in the PHY register becomes effective.
If Gap_Count is not appropriately set, for example, when the Gap_Count value is too small, there is a possibility that other nodes may start communication before ACK is received. Accordingly, the operation of the bus becomes unstable. On the other hand, when the Gap_Count value is too large, other nodes wait more than necessary. Accordingly, throughput of the device is lowered. Therefore, a technique of determining whether Gap_Count is set appropriately by checking whether a Gap_Count set in each node takes an equal value has been devised (for example, Patent Documents 1 and 2 below).
Patent Document 1: Japanese Patent Laid-Open Publication No. H10-285236
Patent Document 2: Japanese Patent Laid-Open Publication No. H11-331214